package com.niuke;

import com.leetCode.problem.Problem19;
import com.pojo.ListNode;

/**
 * Description:
 * Copyright:   Copyright (c)2019
 * Company:     zefu
 *
 * @author: 张李鑫
 * @version: 1.0
 * Create at:   2021-12-14 17:40:58
 * <p>
 * Modification History:
 * Date         Author      Version     Description
 * ------------------------------------------------------------------
 * 2021-12-14     张李鑫                     1.0         1.0 Version
 */
public class JZ22 {

    /**
     * 输入一个长度为 n 的链表，设链表中的元素的值为 ai ，返回该链表中倒数第k个节点。
     * 如果该链表长度小于k，请返回一个长度为 0 的链表。
     * @param pHead
     * @param k
     * @return
     */
    public static ListNode FindKthToTail(ListNode pHead, int k) {
        // write code here
        if (pHead == null) {
            return null;
        }
        ListNode node = pHead;
        int count = 0;
        ListNode delNode = null;
        while (node != null) {
            node = node.next;
            if (count < k) {
                count++;
            } else {
                delNode = delNode == null ? pHead : delNode.next;
            }
        }
        return count<k?null:delNode==null?pHead:delNode.next;
    }
}
